package com.fengwk.support.util;

import java.io.File;
import org.docx4j.model.structure.PageSizePaper;

import com.fengwk.support.doc.Docx;
import com.fengwk.support.exception.BaseException;

/*
	WordprocessingMLPackage: 整个word的生成就是它实现的
	MainDocumentPart: 存有docx4j里面的许多对象，例如后面要讲到的Tbl、Tr等等,WordprocessingMLPackage就是将这个对象转换成word
	Tbl: 表格对象
	TblPr: 表格的属性,可以用来设置看边框
	Tr: 表格里面的行
	Tc: 表格里面的列
	TcPr: 表格列的属性
	P: 一个文本端
	R: 一个运行块(貌似就是一段设置了styled的文本)
	RPr: R对象的属性
	Text: 一段文本
	VMerge: 一个合并对象，这个对象由TcPr对象设置，如果不调用VMerge.setVal("restart"),那么这个这一列下面的行都会被当前列合并
	RFont: 设置选中的文本的字体,通常由RPr设置
	BooleanDefaultTrue: 是否加粗,通常由RPr设置
	U: 是否加下划线,通常由RPr设置
	HpsMeasure: 字体大小,通常由RPr设置
 */

//基于docx4j-3.2.0
public class Docx4jUtils {
    
    private Docx4jUtils() {
        throw new BaseException("can not instance " + getClass());
    }
    
    public Docx docx() {
        return new Docx();
    }
    
    public Docx docx(PageSizePaper sz, boolean landscape) {
        return new Docx(sz, landscape);
    }
    
    public Docx docx(File file) {
        return new Docx(file);
    }
    
    public Docx docx(File file, String password) {
        return new Docx(file, password);
    }
    
}